.seat {
  width: 52px;
  height: 52px;
  line-height: 52px;
  font-size: 26px;
  color: white;
  text-align: center;
  user-select: none;
  position: relative;
  --seat-border: darkslategray;
  border: var(--seat-border) 2px solid;
  background-color: lightgray;
}
.seat.seat-empty {
  --seat-border: lightgray;
}
.seat.seat-me {
  --seat-border: #fc8200;
}
.seat > .seat-badge {
  position: absolute;
  top: -11px;
  left: -11px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 18px;
  border-radius: 50%;
  border: var(--seat-border) 2px solid;
  background-color: black;
  color: white;
}
.seat.seat-me > .seat-badge {
  background-color: var(--seat-border);
}
.seat > .seat-online-badge {
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: var(--seat-border) 2px solid;
  background-color: lawngreen;
}
.seat > .seat-offline-badge {
  background-color: darkgray;
}
.seat > .seat-creator-badge {
  position: absolute;
  top: -11px;
  right: -11px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 20px;
  color: yellowgreen;
}
.seat-name {
  margin-top: 4px;
  font-size: 14px;
  border-radius: 10px;
  width: 56px;
  height: 20px;
  text-align: center;
  color: white;
  background-color: #808080;
}